Novel Uses of Category Theory in Modeling OOP

نویسنده

  • Moez A. AbdelGawad
چکیده

Category theory has been used extensively and successfully in modeling functional programming languages (see, e.g., [22, 23, 17, 20, 25, 15]). However, it has been used to a lesser extent in understanding and modeling object-oriented programming (OOP) languages, mainly focusing on OO languages extant during the early days of OOP research [13, 16, 18, 21]. Recently, we presented a detailed outline for using operads, from category theory, to model the iterative construction of the infinite subtyping relation in Java and other generic nominally-typed OO programming languages such as C#, C++ and Scala. Besides using operads to model the construction of the subtyping relation, we believe that there are plenty of other new uses of category-theoretic tools that can help in having better models and a better understanding of mainstream OOP languages. In this extended abstract we present outlines for four potential applications of category theory in OOP research. Namely, we first present (1) a summary of our use of operads to construct the Java subtyping relation, then we present (2) the possible use of representable functors (and Yoneda’s Lemma) in modeling and understanding generic types of generic nominally-typed OOP, followed by (3) the possible use of the equivalence of category presentations to relational database schema and of cartesian-closed categories as models of functional programming to model a structural view of OOP, and, finally, we present (4) the possible use of adjoint functors to model a particularly complex feature of Java generics, namely Java erasure. Operads and Generic OO Subtyping. Earlier this year, in [10, 11], we outlined how an operad, called JSO (for Java Subtyping Operad), can be defined to model the iterative construction of the generic subtyping relation in Java and other similar generic nominally-typed OO languages such as C# and Scala. Our model makes use of two facts: the fact that the generic subtyping relation in Java exhibits intricate self-similarity, due to the existence of wildcard types (and, accordingly, the existence of three subtyping rules for generic types),

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Towards an Accurate Mathematical Model of Generic Nominally-Typed OOP

The construction of GNOOP as a domain-theoretic model of generic nominally-typed OOP is currently underway. This extended abstract presents the concepts of ‘nominal intervals’ and ‘full generification’ that are likely to help in building GNOOP as an accurate mathematical model of generic nominally-typed OOP. The abstract also presents few related category-theoretic suggestions. The presented co...

متن کامل

Domain Theory for Modeling OOP: A Summary (Domain Theory for The Construction of NOOP, and The Construction of COOP as a Step Towards Constructing NOOP)

Domain theory is ‘a mathematical theory that serves as a foundation for the semantics of programming languages’ [AJ94]. Domains form the basis of a theory of partial information, which extends the familiar notion of partial function to encompass a whole spectrum of “degrees of definedness”, so as to model incremental higher-order computation (i.e., computing with infinite data values, such as f...

متن کامل

Domain Theory for Modeling OOP: A Summary (Domain Theory for The Construction of NOOP, and The Construction of COOP as a Step Towards Constructing NOOP)

Domain theory is ‘a mathematical theory that serves as a foundation for the semantics of programming languages’ [AJ94]. Domains form the basis of a theory of partial information, which extends the familiar notion of partial function to encompass a whole spectrum of “degrees of definedness”, so as to model incremental higher-order computation (i.e., computing with infinite data values, such as f...

متن کامل

A Category Theory Approach to Conceptual Data Modeling

This paper describes a category theory semantics for conceptual data modeling. The conceptual data modeling technique used can be seen as a generalization of most existing conceptual data modeling techniques. It contains features such as specialization, generalization , and power types. The semantics uses only simple category theory constructs such as (co)limits and epi-and monomorphisms. There...

متن کامل

A Novel Controller Based on Single-Phase Instantaneous p-q Power Theory for a Cascaded PWM Transformer-less STATCOM for Voltage Regulation

In this paper, dynamic performance of a transformerless cascaded PWM static synchronous shunt compensator (STATCOM) based on a novel control scheme is investigated for bus voltage regulation in a 6.6kV distribution system. The transformerless STATCOM consists of a thirteen-level cascaded H-bridge inverter, in which each voltage source H-bridge inverter should be equipped with a floating and iso...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2017